aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user/[user]/+page.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/user/[user]/+page.svelte')
-rw-r--r--src/routes/user/[user]/+page.svelte33
1 files changed, 22 insertions, 11 deletions
diff --git a/src/routes/user/[user]/+page.svelte b/src/routes/user/[user]/+page.svelte
index d6248a3b..0fd32101 100644
--- a/src/routes/user/[user]/+page.svelte
+++ b/src/routes/user/[user]/+page.svelte
@@ -4,12 +4,21 @@
import { estimatedDayReading } from '$lib/Media/Manga/time';
import Skeleton from '$lib/Skeleton.svelte';
import root from '$lib/Utility/root.js';
+ import locale from '$stores/locale.js';
import { onMount } from 'svelte';
export let data;
let userData: User | undefined = undefined;
+ $: displayBadges = (username: string, badges: number | string) =>
+ $locale({
+ values: {
+ badges: badges,
+ username
+ }
+ }).user.profile.badges;
+
onMount(() => {
user(data.username).then((profile) => {
userData = profile;
@@ -67,27 +76,29 @@
<a href={root(`/user/${userData.name}/badges`)}>Badge Wall</a>
</p>
- {data.username} has watched {(userData.statistics.anime.minutesWatched / 60 / 24).toFixed(
- 1
- )} days of anime and read
- {estimatedDayReading(userData.statistics.manga.chaptersRead).toFixed(1)} days of manga.
+ {$locale({
+ values: {
+ username: data.username,
+ anime: (userData.statistics.anime.minutesWatched / 60 / 24).toFixed(1),
+ manga: estimatedDayReading(userData.statistics.manga.chaptersRead).toFixed(1)
+ }
+ }).user.profile.statistics}
<p />
- {data.username} has collected {#await fetch(root(`/api/badges?id=${userData.id}`))}
- ...
+ {#await fetch(root(`/api/badges?id=${userData.id}`))}
+ {displayBadges(userData.name, '…')}
{:then badges}
{#await badges.json()}
- ...
+ {displayBadges(userData.name, '…')}
{:then badges}
- {badges.length}
+ {displayBadges(userData.name, badges.length)}
{:catch}
- ?
+ {displayBadges(userData.name, '?')}
{/await}
{:catch}
- ?
+ {displayBadges(userData.name, '?')}
{/await}
- badges using Badge Wall.
</div>
</div>
</div>